package com.ruoyi.web.service.imp;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.web.Dto.CodeFilesDto;
import com.ruoyi.web.Vo.CodeFilesVo;
import com.ruoyi.web.mapper.CodeFilesMapper;
import com.ruoyi.web.service.CodeFilesService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
* @Project: serve
* @Package com.ruoyi.web.service.imp
* @Description: TODO(我的代码文件Service业务层处理)
* @author : GuitarXiaohe
* @date Date : 2023年10月27日 10:52
* @version V1.0
*/

 @Service
public class CodeFilesServiceImpl implements CodeFilesService {

    @Resource
    private CodeFilesMapper codeFilesMapper;

    /**
     * 查询我的代码文件
     *
     * @param codeFileId 我的代码文件主键
     * @return 我的代码文件
     */
    @Override
    public CodeFilesDto selectCodeFilesByCodeFileId(Long codeFileId)
    {
        return codeFilesMapper.selectCodeFilesByCodeFileId(codeFileId);
    }

    /**
     * 查询我的代码文件列表
     *
     * @param codeFiles 我的代码文件
     * @return 我的代码文件
     */
    @Override
    public List<CodeFilesDto> selectCodeFilesList(CodeFilesVo codeFiles)
    {
        return codeFilesMapper.selectCodeFilesList(codeFiles);
    }

    /**
     * 新增我的代码文件
     *
     * @param codeFiles 我的代码文件
     * @return 结果
     */
    @Override
    public int insertCodeFiles(CodeFilesVo codeFiles)
    {
        codeFiles.setCreateTime(DateUtils.getNowDate());
        return codeFilesMapper.insertCodeFiles(codeFiles);
    }

    /**
     * 修改我的代码文件
     *
     * @param codeFiles 我的代码文件
     * @return 结果
     */
    @Override
    public int updateCodeFiles(CodeFilesVo codeFiles)
    {
        return codeFilesMapper.updateCodeFiles(codeFiles);
    }

    /**
     * 批量删除我的代码文件
     *
     * @param codeFileIds 需要删除的我的代码文件主键
     * @return 结果
     */
    @Override
    public int deleteCodeFilesByCodeFileIds(Long[] codeFileIds)
    {
        return codeFilesMapper.deleteCodeFilesByCodeFileIds(codeFileIds);
    }

    /**
     * 删除我的代码文件信息
     *
     * @param codeFileId 我的代码文件主键
     * @return 结果
     */
    @Override
    public int deleteCodeFilesByCodeFileId(Long codeFileId)
    {
        return codeFilesMapper.deleteCodeFilesByCodeFileId(codeFileId);
    }
}